iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
自我挑戰組

與 AI 共舞:打造更高效的日常系列 第 18

Spring AI 專案:從構想到開發的 12 天挑戰

  • 分享至 

  • xImage
  •  

前言

今天參加了睽違已久的 TWJUG 社群聚會!回想起來,我上次參與活動應該是線上的 TWJUG-Lite TDD 工作坊,而這次參與的契機是 JCConf。由於有國外講者來臺參加 JCConf,TWJUG 也趁此機會在隔天舉辦了一場實體的社群聚會。能夠與國外講者交流,真是個難得的機會。

更令人驚喜的是,我竟然幸運地在這次活動中抽中了 JetBrains 一年期的授權!身為 JetBrains 的忠實用戶,這份大獎不僅讓我又驚又喜,更激發了我對接下來鐵人賽的一些靈感和計畫。

JetBrains:不可或缺的開發好夥伴

JetBrains 工具已經成為我開發工作中不可或缺的一部分。無論是撰寫 Python、Node.js,還是主流語言如 Java、Kotlin、GoLang,JetBrains 的 IDE 都讓我使用起來十分順手。它甚至提供了專業的 SQL 工具,大幅簡化了資料庫操作的繁瑣流程。

在我每天的開發過程中,JetBrains 的 IDE 不僅能協助我進行效能分析和程式碼重構,還能快速找到變數和方法的使用位置,大幅提升了我的開發效率。這也是我一直以來選擇它作為主要開發工具的原因。

小技巧:IntelliJ IDEA Ultimate 訂閱超划算

起初,我會根據不同的開發需求選擇 JetBrains 的專屬工具,例如使用 WebStorm 撰寫 Node.js,使用 PyCharm 撰寫 Python。但後來我發現,訂閱 IntelliJ IDEA Ultimate 其實更經濟實惠,因為它可以安裝各種程式語言的擴充功能,讓我能夠在同一個工具中撰寫 Python、Kotlin、GoLang,甚至處理 SQL 資料庫。

這樣的整合開發環境,讓我幾乎可以使用所有 JetBrains 工具 90% 的功能(與對應程式語言的專用 IDE 相比,使用體驗上還是有些許差異),對於需要經常切換技術的我來說,實在非常方便。 當然,還是有些程式語言沒有相對應的擴充功能,例如 C++ 和 .NET,因此開發這些程式語言可能還是需要使用專門的 IDE。 但整體而言,IntelliJ IDEA Ultimate 已經足以滿足我日常大部分的開發需求。

立下目標:開始我的 Spring AI 專案

我目前正在進行的 AI side project 是基於 LangChain,這是一個專門用來處理 AI 工作流程的 Python 框架。但由於 JetBrains 的招牌工具是其強大的 Java IDE,Kotlin 更是他們自家開發的語言,因此我計劃在接下來的 12 天裡,結合 Kotlin 和 Spring AI,完成這個專案,並藉此機會推廣 Kotlin 與 IntelliJ IDEA 的優點。

這篇文章就當作是我給自己立下的一個目標,未來的十幾天裡,我會專注於這個專案,並產出一些實際的成果,也希望能為大家帶來一些關於 Kotlin 和 JetBrains 工具的使用心得。

初始化我的 Spring AI 專案

Spring 專案的初始化過程相當簡單,我只要前往 Spring Initializer 官方網站,幾分鐘內就能完成專案設定。這次我選擇的專案設定如下:

  • 建構工具:Gradle
  • 程式語言:Kotlin
  • Spring Boot 版本:3.3.4
  • 打包方式:JAR(如同 Spring 傳教士 Josh Long 所說的:「Make JAR, Not WAR」)

在現代開發環境中,大多數應用程式不再需要獨立的網頁伺服器,例如 Apache Tomcat。嵌入式的網頁伺服器已經足以應付大部分的需求。
Yes

這次專案我選擇了以下幾個主要的依賴項目:

  • Spring AI OpenAI:讓開發者輕鬆在 Spring 應用程式中使用 OpenAI 的 AI 模型,並方便地在不同模型間切換
  • Spring WebFlux:反應式 Web 框架,適合建構高併發且高效能的 Web 應用程式
  • Test Containers:透過容器搭建測試環境,方便使用真實的相依服務進行測試,無需本地安裝

這些依賴項目能幫助我快速建立一個強大且靈活的 AI 應用程式。目前專案的初始化已經完成,接下來就是具體的功能開發了。我對未來十幾天內能達成的成果感到相當期待,讓我們拭目以待吧!

https://ithelp.ithome.com.tw/upload/images/20240929/20168288svTm6StsYJ.png


上一篇
AI 與 Meta Question:提升探索未知領域的學習策略
下一篇
Spring AI 初探:從專案初始化到 OpenAI 聊天模型應用的實現
系列文
與 AI 共舞:打造更高效的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言